package ec.atreasure.com.core.app;

import android.content.Context;
import android.os.Handler;

import java.util.HashMap;
import java.util.WeakHashMap;

/**
 * Description :core模块功能交互对象
 * Created by wangjin on 2019/6/21.
 * Job number：
 * Phone ：18301070822
 * Email： 120182051@qq.com
 * Person in charge : 汪渝栋
 * Leader：
 */
public final class Atreasure {

    /**
     * 初始化
     */
    public static Configurator init(Context context) {
        Configurator.getInstance()
                .getAtreasureConfigs()
                .put(ConfigType.APPLICATION_CONTEXT,
                        context.getApplicationContext());
        return Configurator.getInstance();
    }

    /**
     * 获取配置对象
     *
     * @return
     */
    public static Configurator getConfigurator() {
        return Configurator.getInstance();
    }

    /**
     * 根据key获取配置项信息
     *
     * @param key
     * @param <T>
     * @return
     */
    public static <T> T getConfiguration(Object key) {
        return getConfigurator().getConfiguretion(key);
    }


    /**
     * 获取应用上下文
     *
     * @return
     */
    public static Context getApplicationContext() {
        return getConfiguration(ConfigType.APPLICATION_CONTEXT);
    }

    /**
     * 获取应用全局Handler
     *
     * @return
     */
    public static Handler getHandler() {
        return getConfiguration(ConfigType.HANDLER);
    }
}
